Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

XauFuck - BrainFuck IDE


Xau

Rekomendowane odpowiedzi

Weteran
Opublikowano

XaufuckTestss.png

 

Siemka,

przedstawiam wam mój kolejny program zrobiony w celach edukacyjnych, lecz tym razem na platformę .NET Framework.

Program został w całości napisany w c# i c++(binder) i wymaga zainstalowanego .NET frameworka 4.0

 

Co to jest?

Jest to IDE języka BrainFuck(w mojej własnej interpretacji) z dynamicznym output`em(tzn. przy pisaniu programu zawsze widzimy wynik jego działania na ekranie) i z możliwością skompilowania programu do pliku wykonywalnego PE.

 

Info co do interpretacji Brainfuck`a.

-Pozycja pointer nie może mieć minusowej wartości( gdy == 0 po przesunięciu go w lewo < nie wyskoczy żaden błąd, ale również nic innego się nie stanie)

-Wartość komórki może być minusowa.

-Wartość komórki jest ograniczona do typu int(4 bajty)

-Została wprowadzona instrukcja #file_path# gdzie file_path to ścieżka do pliku, powoduję pobranie do bufora zawartości pliku, a instrukcji ',' zamiast z input`a pobierze wartość z tego bufora. Bufor po wczytaniu całej zawartości znika i znowu program zaczyna wczytywać z inputa.

-Została wprowadzona instrukcja @file_path@, gdzie file_path to ścieżka do pliku, powoduje wczytanie kodu BrainFucka z pliku i wykonanie go, a następnie przywrócenia pozycji pointera do momentu przed jej wykonaniem.

 

 

Jeżeli ktoś jeszcze nie zna tego przepięknego języka, zapraszam do przeczytania tego artykułu na wiki: http://pl.wikipedia.org/wiki/Brainfuck

 

 

Download:

http://xaulin.tk/xaufuck/download.html

Scan:

https://www.virustot...574f9/analysis/

 

Oceniajcie!

Będzie coś z tego? :]

 

 

@EDIT

Program rezerwuję sobie rozszerzenie .xau

Opublikowano

Bardzo fajny i ładny projekt. Nie widziałem dużo IDE do brainfucka, a w szczególności dobrych. Trzymaj go dalej ;]

 

PS.

-Pozycja pointer nie może mieć minusowej wartości( gdy == 0 po przesunięciu go w lewo < nie wyskoczy żaden błąd, ale również nic innego się nie stanie)

z tego co kojarzę to wskaźnik powinien przejść na koniec gdy jego wartość zejdzie poniżej 0 lub na początek gdy będzie większy od maksa

Opublikowano

Screen wygląda ciekawie, niestety program nie uruchamia się (jakiś nieobsłużony wyjątek?).

Ok, po uruchomieniu programu jako admin działa. Aplikacja jednak jest bardzo niestabilna, często się sypie, a sam bf jest chyba źle zaimplementowany, nie działa nawet hello world z polskiej wiki.

Po ponownym uruchomieniu przykłady z wiki działają poprawnie. Dafuq? :D

Kod także niezbyt elegancko napisany, że wymienię chociaż:

 

public Interp(string input, Interp.PrintEvent func, Interp.GetKeyDel func2, Interp.EndDel func3, bool check)

całkowicie niezgodne z ideą eventów.

No ale dal odbiorcy to i tak bez znaczenia, ważne aby program działał i autor był w stanie efektownie go rozwijać, a ten gdy pracuje sam przy projekcie to może sobie pozwolić na takie straszydła ;p.

mjut.png
Opublikowano

U mnie również nie działa.

 

@Edit

Po odpaleniu jako administrator najwyraźniej udaje mu się przeprowadzić akcje wywołującą błąd.

 

nsvq.png

Weteran
Opublikowano

Hmmm...

To pewnie przez edycje rejestrów. Zapomniałem obsłużyć wyjątków.

Jeżeli program działa niestabilnie, to prawdopodobnie przez maszynę. Ciągłe śledzenie zawartości kodu przez program trochę męczy komputer.

public Interp(string input, Interp.PrintEvent func, Interp.GetKeyDel func2, Interp.EndDel func3, bool check)

całkowicie niezgodne z ideą eventów.

No ale dal odbiorcy to i tak bez znaczenia, ważne aby program działał i autor był w stanie efektownie go rozwijać, a ten gdy pracuje sam przy projekcie to może sobie pozwolić na takie straszydła ;p.

Przyzwyczajenia z Qt :]

Racja, kod jest dość paskudnie napisany.

 

Dzięki wszystkim za zainteresowanie.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...